/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package asaexpr;

/**
 *
 * @author Florian
 */
public class ASAExprMult extends ASAExpr {
    
    private ASAExpr e1;
    private ASAExpr e2;
    
    public ASAExprMult(ASAExpr e1, ASAExpr e2) {
        this.e1 = e1;
        this.e2 = e2;
    }
    
    public ASAExpr getExpr1() {
        return e1;
    }

    @Override
    public ASAExpr getExpr2() {
        return e2;
    }
    
    public ASAExpr simplifie() {
        ASAExpr se1 = e1.simplifie();
        ASAExpr se2 = e2.simplifie();
        if(se1 instanceof ASAExprEntier && se2 instanceof ASAExprEntier){
            return new ASAExprEntier(se1.evalue() * se2.evalue());
        }
        if(se2.getValeur() == 0){
            return new ASAExprEntier(0);
        }
        if(se1.getValeur() == 0){
            return new ASAExprEntier(0);
        }
        return new ASAExprMult(se1,se2);
    }
    
    public int evalue() {
        return  e1.getValeur() * e2.getValeur();
    }

    @Override
    public String getLabelExplorateur() {
        return "MULT " + getValeur();
    }
}
